package com.itany.corejava.code11_io.file;

import com.itany.corejava.util.DateUtil;

import java.io.File;
import java.util.Date;

/**
 * @author 石小俊
 * @date 2023年05月10日 11:20
 */
public class Test03_获取文件信息 {

    public static void main(String[] args) {
        File file = new File("corejava/src/a.txt");
        System.out.println("文件是否存在:" + file.exists());
        System.out.println("文件名:" + file.getName());
        // getPath():返回的是构造方法的参数值
        System.out.println("文件的路径名:" + file.getPath());
        // getAbsolutePath():返回的是文件所对应系统绝对路径
        System.out.println("绝对路径名:" + file.getAbsolutePath());
        String parentPath = file.getParent();
        System.out.println("父目录:" + parentPath);
        File parent = file.getParentFile();
        System.out.println("父目录文件对象:" + parent);
        System.out.println("父目录文件对象是否存在:" + parent.exists());
        System.out.println("文件长度:" + file.length());
        // lastModified():返回日期毫秒数
        System.out.println("最后一次修改时间:" + DateUtil.toString(new Date(file.lastModified())));
        System.out.println("是否可读:" + file.canRead());
        // 当文件设置为只读时,返回false
        System.out.println("是否可写:" + file.canWrite());
        System.out.println("是否是文件:" + file.isFile());
        System.out.println("是否是目录:" + file.isDirectory());
        System.out.println("是否为隐藏文件:" + file.isHidden());

        // 常量字段
        // 获取文件路径分隔符,根据系统不同返回不同
        // windows返回\
        // linux与MacOS返回/
        System.out.println("获取文件路径分隔符:" + File.separator);
    }

}
